package com.GB26875_3_2011.common;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author 蒋仕国
 * @projectName GB26875_3_211
 * @ClassName GB26875bujianType
 * @date 2025-01-13 15:23
 * @Description: TODO [部件类型]
 */

@AllArgsConstructor
@Getter
public enum GB26875ComponentType {
    TYPE_00("通用",0),
    TYPE_01("火灾报警控制器",1),
    TYPE_02("预留",2),
    TYPE_10("可燃气体探测器",10),
    TYPE_11("点型可燃气体探测器",11),
    TYPE_12("独立式可燃气体探测器",12),
    TYPE_13("线型可燃气体探测器",13),
    TYPE_14("预留（14-15）",14),
    TYPE_16("电气火灾监控报警器",16),
    TYPE_17("剩余电流式电气火灾监控探测器",17),
    TYPE_18("测温式电气火灾监控探测器",18),
    TYPE_19("预留【19-20】",19),
    TYPE_21("探测回路",21),
    TYPE_22("火灾显示盘",22),
    TYPE_23("手动火灾报警按钮",23),
    TYPE_24("消火栓按钮",24),
    TYPE_25("火灾探测器",25),
    TYPE_26("预留【26-29】",26),
    TYPE_30("感温火灾探测器",30),
    TYPE_31("点型感温火灾探测器",31),
    TYPE_32("点型感温火灾探测器(s型)",32),
    TYPE_33("点型感温火灾探测器(R型)",33),
    TYPE_34("线型感温火灾探测器",34),
    TYPE_35("线型感温火灾探测器(s型)",35),
    TYPE_36("线型感温火灾探测器(R型)",36),
    TYPE_37("线型感温火灾探测器",37),
    TYPE_38("预留【38-39】",38),
    TYPE_40("线型感温火灾探测器",40),
    TYPE_41("点型离子感烟火灾探测器",41),
    TYPE_42("点型光电感烟火灾探测器",42),
    TYPE_43("线型光束感烟火灾探测器",43),
    TYPE_44("吸气式感烟火灾探测器",44),
    TYPE_45("预留【45-49】",45),
    TYPE_50("复合式火灾探测器",50),
    TYPE_51("复合式感烟感温火灾探测器",51),
    TYPE_52("复合式感光感温火灾探浏器",52),
    TYPE_53("复合式感光感烟火灾探测器",53),
    TYPE_54("预留【54-60】",54),
    TYPE_61("紫外火焰探测器",61),
    TYPE_62("红外火焰探测器",62),
    TYPE_63("预留【63-68】",63),
    TYPE_69("感光火灾探测器",69),
    TYPE_70("预留【70-73】",70),
    TYPE_74("气体探测器",74),
    TYPE_75("预留【75-77】",75),
    TYPE_78("图像摄像方式火灾探测器",78),
    TYPE_79("感声火灾探测器",79),
    TYPE_80("预留【80】",80),
    TYPE_81("气体灭火控制器",81),
    TYPE_82("消防电气控制装置",82),
    TYPE_83("消防控制室图形显示装置",83),
    TYPE_84("模块",84),
    TYPE_85("输入模块",85),
    TYPE_86("输出模块",86),
    TYPE_87("输入／输出模块",87),
    TYPE_88("报警模块",88),
    TYPE_89("预留【89-90】",89),
    TYPE_91("消防水泵",91),
    TYPE_92("消防水箱",92),
    TYPE_93("预留【93-94】",93),
    TYPE_95("喷淋泵",95),
    TYPE_96("水流指示器",96),
    TYPE_97("信号阀",97),
    TYPE_98("报警阀",98),
    TYPE_99("压力开关",99),
    TYPE_100("预留",100),
    TYPE_101("阀驱动装置",101),
    TYPE_102("防火门",102),
    TYPE_103("防火阀",103),
    TYPE_104("通风空调",104),
    TYPE_105("泡沫液泵",105),
    TYPE_106("管网电磁阀",106),
    TYPE_107("预留【107-110】",107),
    TYPE_111("防烟排烟风机",111),
    TYPE_112("预留",112),
    TYPE_113("排烟防火阀",113),
    TYPE_114("常闭送风口",114),
    TYPE_115("排烟口",115),
    TYPE_116("电控挡烟垂壁",116),
    TYPE_117("防火卷帘控制器",117),
    TYPE_118("防火门监控器",118),
    TYPE_119("预留【119-120】",119),
    TYPE_121("警报装置",121),
    TYPE_122("预留（122-127）",122),
    TYPE_128("用户自定义（128-255）",128)
    ;

    private final String systemName;

    private final int systemCode;

    public static GB26875ComponentType getSystemName(int systemCode) {
        for (GB26875ComponentType type : GB26875ComponentType.values()) {
            if (type.getSystemCode() == systemCode) {
                return type;
            }
        }
        return GB26875ComponentType.TYPE_00;
    }


}
